# 作者：位微
# 你不是在写代码而是在解决问题
# 2025年09月10日10时09分23秒
# 2062873410@qq.com
import socket
import select
import sys
class ChatClint:
    def __init__(self,ip,port):
        self.ip=ip
        self.port=port
        self.client_sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        self.client_sock.connect((self.ip,self.port))
        self.epoll=select.epoll()
    def chat(self):
        # 先把事情安排给小弟，第一次敲竟然忘记给小弟安排事情
        self.epoll.register(self.client_sock.fileno(),select.EPOLLIN)
        self.epoll.register(sys.stdin.fileno(),select.EPOLLIN)
        while True:
            events=self.epoll.poll(-1)
            for fd,event in events:
                if fd==self.client_sock.fileno():
                    data=self.client_sock.recv(1024)
                    if not data:
                        break
                    print(data.decode('utf-8'))
                elif fd==sys.stdin.fileno():
                    data=input()
                    self.client_sock.send(data.encode('utf-8'))
ChatClint('127.0.0.1',8080).chat()